// 导入
import { defineStore } from "pinia";

// 定义仓库
export const useCola = defineStore("Cola", {
    state: () => {
        return {
            // 键: 数据
            count: 666,
        };
    },
    getters: {
        // 函数名(state) {}
    },
    actions: {
        // 函数名() { this.state键 = 数据; }
        setCount(data: number): void {
            this.count += data;
        },
    },
    persist: {
        key: "9999", // 决定了 存储的时候是什么键
        paths: ["count", "ice"], // 哪些键存储
        storage: sessionStorage, // 使用session存储

        serializer: {
            // 指定参数序列化器 todolist
            serialize: JSON.stringify,
            deserialize: JSON.parse,
        },
        // 此🪝钩子函数在 此 useCola 仓库初始化的时候执行
        beforeRestore: (ctx) => {
            console.log(`about to restore '${ctx.store.$id}'`);
        },
        // 此🪝钩子函数在 此 useCola 仓库创建完毕执行
        afterRestore: (ctx) => {
            console.log(`just restored '${ctx.store.$id}'`);
        },
    },
});
